应对机器人设计开发中的三大挑战
2014/3/3 10:29:49
引言
机器人的研究与开发是当今学术界和工业界的热点之一,机器人的发布数量较之过去有明显增长,2010年机器人市场规模预计将达到4700亿美元。过去人们往往只能在实验室或高科技竞赛中见到机器人的身影,而如今它们已经走入工业应用甚至是普通人的生活中[1]。现在,机器人应用所覆盖的领域包括无人驾驶车辆、险情救援、个人与服务机器人、医疗机器人、农业与采矿、教育与智力开发等,并且随着科技的发展,机器人的应用领域还在不断扩展。
但是机器人的快速发展也为该领域的研究与开发人员带来了巨大的挑战。机器人领域的著名科学家David Barrett博士(曾任iRobot公司副总裁、迪士尼梦幻工程公司主管,现任美国Olin学院SCOPE项目主管,)在2009年NIWeek图形化系统设计会议上总结了当前机器人开发所面临的三大挑战:创造更小、更轻、更强大的电池;创造更小、更轻、更强大的执行机构;需要一个工业级的、并且具有良好兼容性的软件开发平台。这些挑战也获得了业内其他领导者的响应:Segway思维车的发明人、FIRST机构及DEKA研发公司的创始人Dean Kamen表达了对机器人开发中传统嵌入式方法的顾虑;美国国防部地面机器人和自主系统主管Ellen Purdy关注于自主系统的进一步标准化和持久性(电池能力)需要;韩国浦项智能机器人研究所的Hee Chang Moon博士强调了对于集成的嵌入式系统以及直观式开发软件的需求。认识到这些挑战,世界各地的业内人士都在努力寻求这些挑战的解决之道:Dean Kamen的团队选择NI LabVIEW软件和NI CompactRIO嵌入式硬件平台用于FIRST项目中的机器人自主控制系统开发;TORC科技公司从传统的编程工具转而使用NI LabVIEW软件平台设计其复杂的自主系统,其CEO Michael Fleming在NIWeek会议上特别谈到了TORC如何从功能强大的高级软件中获益,从而有助于简化系统设计中的复杂问题。
接下来我们将展开分析这些挑战,并探寻相应的应对方法。
图1 FIRST机器人竞赛平台采用NI LabVIEW软件和嵌入式硬件CompactRIO,在这些工具的帮助下即使是高中学生也能解决机器人设计中的复杂问题
挑战一. 创造更小、更轻、更强大的电池
许多机器人需要在野外或严苛的环境中长时间独立工作,需要可长时间独立供电的电源。目前全世界有多家公司和研究机构致力于这方面研究。许多厂商选择NI平台用于设计仿真、生产优化、验证测试等各个环节,推动其创新产品的研发、生产和应用,这些创新产品包括新型燃料电池、太阳能电池、基于小型移动平台的高效发电和蓄能装置等。
能够长时间独立运行的机器人系统不仅需要更高效的新型电池,还需要对能源的使用进行优化,例如通过增加电源管理功能有效地监测电量消耗并选择不同的节电模式,这样才能真正发挥出新型电池的效能优势。NI计划对其嵌入式硬件平台CompactRIO和SingleBoard RIO增加内置电源自诊断和监视功能,使机器人开发人员可以通过相应的API直接访问电池状态,从而设计更优化的待机和节电模式。NI希望通过这些努力最终消除电源问题对机器人发展的制约。
挑战二. 更小、更轻、更强大的执行机构
出于机器人体积和自重的考虑,一般希望执行机构也更轻更小;但同时由于不同的运动要求,又希望执行机构具有强大的功能。随着移动性需求从传统的四轮系统向新型仿生机械的不断演进,对精密执行机构的需求也随之大幅提升。世界上众多的专业厂商一直从事这方面的研发,不断推出高性能的产品。
对于机器人应用领域来说,创造更小、更轻、更强大的执行机构的最终目标是将它们用于机器人设计中,而且执行机构的强大功能往往需要通过复杂的编程才能发挥出来。因此,随着执行机构变得越来越精密复杂,如何通过编程完成高精度和高复杂度的控制,也成为机器人系统开发的关键问题之一。许多机器人领域的开发人员并不具有运动控制方面的专业背景,在这种情况下,执行机构的交互式控制开发更显得尤为重要。NI依靠超过25年与执行机构连接的经验,通过提供基于各种平台的硬件接口模块和交互式的软件工具不断降低控制开发的复杂性,同时提高交互性和灵活性。NI还与行业内领先制造商(如Maxon Moter)合作,使其产品的编程开发更加简便。
此外,在构建复杂运动系统的执行机构时,电机之间的协调工作也十分重要,比如在四轮驱动系统转向或机械臂动作中,就需要多个电机配合协调工作。运用NI LabVIEW机器人模块中所提供的Steering函数组和Kinematics函数组,就可以直接计算出在这些应用中每个电机分别需要的转动速度,从而帮助机器人设计人员缩短了从高性能电机到创新机器人应用之间的距离。
图2 NI嵌入式硬件平台CompactRIO提供方便的电机接口,并可通过LabVIEW软件交互式地完成软件开发
图3 基于LabVIEW FPGA实现的FOC算法可以进一步提高现有电机控制系统的性能和效率
挑战三. 对工业级软件开发平台的需求
除了硬件之外,机器人领域的研发人员还需要功能强大的软件来设计他们的自主系统。人们往往容易忽视这一点,许多人认为"任何事情立即从头设计都是相对简单的",但这对于当今机器人飞速发展的时代是不适用的。事实上,随着一些技术领域的趋同并形成某种事实上的标准,创新已经不再意味着只是从零开始,更多的创新应用都是将模块化的算法和功能组织在一起而完成的。机器人领域亦不例外,需要标准、工业级的软件提供现成可用的算法和工具,从而帮助研发人员更快地完成创新。
1. 该软件必须是直观式的
许多机器人研发人员都具有机械工程或电子工程背景,但没有时间和精力去学习复杂的计算机软件技术,所以需要一款集成常用函数和算法的软件开发工具,该工具还必须具有良好的交互性和易用性。此外,自主系统的终端用户往往是营救人员(如消防员)、士兵或老年人等,他们也不一定具备计算机知识,因此用户界面也必须足够直观。
图4 机器人设计软件应该是非常直观的。LabVIEW图形化编程通过直观的框图和连线完成了LIDAR数据采集、障碍物回避决策、刹车制动等三个步骤,清晰易读(有文字的淡黄色部分为程序注释)
2. 软件必须具备与硬件的良好集成性
每个自主系统都必须感知或察觉周围世界的环境并做出反应。感知系统需要外部传感器(如激光测距仪、声纳传感器等),做出反应则要依靠不同类型的执行机构完成。因此软件工具必须能够直接驱动各种传感器和执行机构。除了感知系统和执行控制,往往还需要在真实硬件上实现决策规划,这意味着软件必须具有与实时系统、实时嵌入式硬件、甚至FPGA的强大交互性。目前的许多机器人软件开发包缺乏类似功能,它们能够仿真并在开发机器上运行,但不具备在实时硬件目标上的执行能力。
图5 基于NI嵌入式硬件平台CompactRIO搭建成的机器人原型,从仿真到最终系统实现的软件平台均为NI LabVIEW
3. 软件必须具备良好的交互性
完成机器人设计并不简单,它需要反复修改和原型设计。因此机器人领域的研发人员需要一款可以轻松调试的软件包,既可进行直观的仿真,又能在实时硬件系统上快速实现,从而测试算法和真实I/O。每次硬件实验之后都可能再回到开发环境,对代码进行进一步优化或调整。这些都要求软件开发工具具有极佳的交互性。
针对上述三点需求,NI LabVIEW软件是一款理想的机器人开发软件。LabVIEW图形化编程方式使其天然具备直观性。最新的LabVIEW机器人模块还集成了常用的搜索、蔽障、路径规划、以及动力学算法,可以最大程度地帮助机器人开发人员快速实现应用。此外,与硬件的无缝集成也是LabVIEW的一大特点。通过 LabVIEW软件本身就可以连接各种传感器和执行机构。完成算法仿真的LabVIEW代码可以直接下载到NI嵌入式实时硬件平台CompactRIO或 SingleBoard RIO执行,从而实现真正的与硬件无缝集成。LabVIEW机器人模块中还提供了多种机器人常用传感器在实时硬件平台下的现成驱动程序,从而使机器人的开发更为简单。最后,LabVIEW提供交互式的调试环境和丰富的界面设计工具,各种算法都可在实时嵌入式硬件上直接实现,并可方便地反复修改验证,满足了机器人研究人员的调试需要。SCOPE项目主管Barrett博士称LabVIEW正是工业界所需的软件:"我花了15年时间力图探寻最佳机器人编程语言,NI LabVIEW无愧殊荣。它能够处理各类传感器、多种执行机构、复杂动态控制算法,并能在实时环境下轻松进行验证调试,完成系统实现。"
除了上述优点,NI LabVIEW还具有高度的灵活性和开放性。例如,LabVIEW机器人模块已经提供一些成熟的路径搜索算法,用户可重用这些算法,同时用户也可以基于这些基本的搜索算法添加他们的创新或最新研究成果,从而创建新型的搜索算法。用户也可以将这些算法与LabVIEW中提供的其他算法或第三方技术集成从而开发更多的创新应用,如机器人救援或医疗辅助应用。LabVIEW是一个开放的软件,它支持许多厂商的硬件平台或自定义设备,并且支持调用多种第三方开发工具产生的代码或模型,使其应用范围拓展到机器人应用的各个领域。
结论
随着机器人领域的快速发展,开发人员面临着多方面的挑战。全世界的研究机构和相关厂商都在研究应对这些挑战的办法。事实上,现在已经有一些工具可以帮助机器人领域的研发人员应对这些挑战,比如NI LabVIEW软件和嵌入式硬件平台。我们深信专业知识不该成为创造机器人创新应用的瓶颈,未来每个工程师都应该能借助功能强大的设计工具从容地开发高端机器人。随着技术的创新和进步,许多问题将被解决,同时又会出现新的问题,但只要有灵活开放的开发工具,就能够不断解决这些问题,使机器人领域的发展不断达到新的高度。
机器人的研究与开发是当今学术界和工业界的热点之一,机器人的发布数量较之过去有明显增长,2010年机器人市场规模预计将达到4700亿美元。过去人们往往只能在实验室或高科技竞赛中见到机器人的身影,而如今它们已经走入工业应用甚至是普通人的生活中[1]。现在,机器人应用所覆盖的领域包括无人驾驶车辆、险情救援、个人与服务机器人、医疗机器人、农业与采矿、教育与智力开发等,并且随着科技的发展,机器人的应用领域还在不断扩展。
但是机器人的快速发展也为该领域的研究与开发人员带来了巨大的挑战。机器人领域的著名科学家David Barrett博士(曾任iRobot公司副总裁、迪士尼梦幻工程公司主管,现任美国Olin学院SCOPE项目主管,)在2009年NIWeek图形化系统设计会议上总结了当前机器人开发所面临的三大挑战:创造更小、更轻、更强大的电池;创造更小、更轻、更强大的执行机构;需要一个工业级的、并且具有良好兼容性的软件开发平台。这些挑战也获得了业内其他领导者的响应:Segway思维车的发明人、FIRST机构及DEKA研发公司的创始人Dean Kamen表达了对机器人开发中传统嵌入式方法的顾虑;美国国防部地面机器人和自主系统主管Ellen Purdy关注于自主系统的进一步标准化和持久性(电池能力)需要;韩国浦项智能机器人研究所的Hee Chang Moon博士强调了对于集成的嵌入式系统以及直观式开发软件的需求。认识到这些挑战,世界各地的业内人士都在努力寻求这些挑战的解决之道:Dean Kamen的团队选择NI LabVIEW软件和NI CompactRIO嵌入式硬件平台用于FIRST项目中的机器人自主控制系统开发;TORC科技公司从传统的编程工具转而使用NI LabVIEW软件平台设计其复杂的自主系统,其CEO Michael Fleming在NIWeek会议上特别谈到了TORC如何从功能强大的高级软件中获益,从而有助于简化系统设计中的复杂问题。
接下来我们将展开分析这些挑战,并探寻相应的应对方法。
图1 FIRST机器人竞赛平台采用NI LabVIEW软件和嵌入式硬件CompactRIO,在这些工具的帮助下即使是高中学生也能解决机器人设计中的复杂问题
挑战一. 创造更小、更轻、更强大的电池
许多机器人需要在野外或严苛的环境中长时间独立工作,需要可长时间独立供电的电源。目前全世界有多家公司和研究机构致力于这方面研究。许多厂商选择NI平台用于设计仿真、生产优化、验证测试等各个环节,推动其创新产品的研发、生产和应用,这些创新产品包括新型燃料电池、太阳能电池、基于小型移动平台的高效发电和蓄能装置等。
能够长时间独立运行的机器人系统不仅需要更高效的新型电池,还需要对能源的使用进行优化,例如通过增加电源管理功能有效地监测电量消耗并选择不同的节电模式,这样才能真正发挥出新型电池的效能优势。NI计划对其嵌入式硬件平台CompactRIO和SingleBoard RIO增加内置电源自诊断和监视功能,使机器人开发人员可以通过相应的API直接访问电池状态,从而设计更优化的待机和节电模式。NI希望通过这些努力最终消除电源问题对机器人发展的制约。
挑战二. 更小、更轻、更强大的执行机构
出于机器人体积和自重的考虑,一般希望执行机构也更轻更小;但同时由于不同的运动要求,又希望执行机构具有强大的功能。随着移动性需求从传统的四轮系统向新型仿生机械的不断演进,对精密执行机构的需求也随之大幅提升。世界上众多的专业厂商一直从事这方面的研发,不断推出高性能的产品。
对于机器人应用领域来说,创造更小、更轻、更强大的执行机构的最终目标是将它们用于机器人设计中,而且执行机构的强大功能往往需要通过复杂的编程才能发挥出来。因此,随着执行机构变得越来越精密复杂,如何通过编程完成高精度和高复杂度的控制,也成为机器人系统开发的关键问题之一。许多机器人领域的开发人员并不具有运动控制方面的专业背景,在这种情况下,执行机构的交互式控制开发更显得尤为重要。NI依靠超过25年与执行机构连接的经验,通过提供基于各种平台的硬件接口模块和交互式的软件工具不断降低控制开发的复杂性,同时提高交互性和灵活性。NI还与行业内领先制造商(如Maxon Moter)合作,使其产品的编程开发更加简便。
此外,在构建复杂运动系统的执行机构时,电机之间的协调工作也十分重要,比如在四轮驱动系统转向或机械臂动作中,就需要多个电机配合协调工作。运用NI LabVIEW机器人模块中所提供的Steering函数组和Kinematics函数组,就可以直接计算出在这些应用中每个电机分别需要的转动速度,从而帮助机器人设计人员缩短了从高性能电机到创新机器人应用之间的距离。
图2 NI嵌入式硬件平台CompactRIO提供方便的电机接口,并可通过LabVIEW软件交互式地完成软件开发
图3 基于LabVIEW FPGA实现的FOC算法可以进一步提高现有电机控制系统的性能和效率
挑战三. 对工业级软件开发平台的需求
除了硬件之外,机器人领域的研发人员还需要功能强大的软件来设计他们的自主系统。人们往往容易忽视这一点,许多人认为"任何事情立即从头设计都是相对简单的",但这对于当今机器人飞速发展的时代是不适用的。事实上,随着一些技术领域的趋同并形成某种事实上的标准,创新已经不再意味着只是从零开始,更多的创新应用都是将模块化的算法和功能组织在一起而完成的。机器人领域亦不例外,需要标准、工业级的软件提供现成可用的算法和工具,从而帮助研发人员更快地完成创新。
1. 该软件必须是直观式的
许多机器人研发人员都具有机械工程或电子工程背景,但没有时间和精力去学习复杂的计算机软件技术,所以需要一款集成常用函数和算法的软件开发工具,该工具还必须具有良好的交互性和易用性。此外,自主系统的终端用户往往是营救人员(如消防员)、士兵或老年人等,他们也不一定具备计算机知识,因此用户界面也必须足够直观。
图4 机器人设计软件应该是非常直观的。LabVIEW图形化编程通过直观的框图和连线完成了LIDAR数据采集、障碍物回避决策、刹车制动等三个步骤,清晰易读(有文字的淡黄色部分为程序注释)
2. 软件必须具备与硬件的良好集成性
每个自主系统都必须感知或察觉周围世界的环境并做出反应。感知系统需要外部传感器(如激光测距仪、声纳传感器等),做出反应则要依靠不同类型的执行机构完成。因此软件工具必须能够直接驱动各种传感器和执行机构。除了感知系统和执行控制,往往还需要在真实硬件上实现决策规划,这意味着软件必须具有与实时系统、实时嵌入式硬件、甚至FPGA的强大交互性。目前的许多机器人软件开发包缺乏类似功能,它们能够仿真并在开发机器上运行,但不具备在实时硬件目标上的执行能力。
图5 基于NI嵌入式硬件平台CompactRIO搭建成的机器人原型,从仿真到最终系统实现的软件平台均为NI LabVIEW
3. 软件必须具备良好的交互性
完成机器人设计并不简单,它需要反复修改和原型设计。因此机器人领域的研发人员需要一款可以轻松调试的软件包,既可进行直观的仿真,又能在实时硬件系统上快速实现,从而测试算法和真实I/O。每次硬件实验之后都可能再回到开发环境,对代码进行进一步优化或调整。这些都要求软件开发工具具有极佳的交互性。
针对上述三点需求,NI LabVIEW软件是一款理想的机器人开发软件。LabVIEW图形化编程方式使其天然具备直观性。最新的LabVIEW机器人模块还集成了常用的搜索、蔽障、路径规划、以及动力学算法,可以最大程度地帮助机器人开发人员快速实现应用。此外,与硬件的无缝集成也是LabVIEW的一大特点。通过 LabVIEW软件本身就可以连接各种传感器和执行机构。完成算法仿真的LabVIEW代码可以直接下载到NI嵌入式实时硬件平台CompactRIO或 SingleBoard RIO执行,从而实现真正的与硬件无缝集成。LabVIEW机器人模块中还提供了多种机器人常用传感器在实时硬件平台下的现成驱动程序,从而使机器人的开发更为简单。最后,LabVIEW提供交互式的调试环境和丰富的界面设计工具,各种算法都可在实时嵌入式硬件上直接实现,并可方便地反复修改验证,满足了机器人研究人员的调试需要。SCOPE项目主管Barrett博士称LabVIEW正是工业界所需的软件:"我花了15年时间力图探寻最佳机器人编程语言,NI LabVIEW无愧殊荣。它能够处理各类传感器、多种执行机构、复杂动态控制算法,并能在实时环境下轻松进行验证调试,完成系统实现。"
除了上述优点,NI LabVIEW还具有高度的灵活性和开放性。例如,LabVIEW机器人模块已经提供一些成熟的路径搜索算法,用户可重用这些算法,同时用户也可以基于这些基本的搜索算法添加他们的创新或最新研究成果,从而创建新型的搜索算法。用户也可以将这些算法与LabVIEW中提供的其他算法或第三方技术集成从而开发更多的创新应用,如机器人救援或医疗辅助应用。LabVIEW是一个开放的软件,它支持许多厂商的硬件平台或自定义设备,并且支持调用多种第三方开发工具产生的代码或模型,使其应用范围拓展到机器人应用的各个领域。
结论
随着机器人领域的快速发展,开发人员面临着多方面的挑战。全世界的研究机构和相关厂商都在研究应对这些挑战的办法。事实上,现在已经有一些工具可以帮助机器人领域的研发人员应对这些挑战,比如NI LabVIEW软件和嵌入式硬件平台。我们深信专业知识不该成为创造机器人创新应用的瓶颈,未来每个工程师都应该能借助功能强大的设计工具从容地开发高端机器人。随着技术的创新和进步,许多问题将被解决,同时又会出现新的问题,但只要有灵活开放的开发工具,就能够不断解决这些问题,使机器人领域的发展不断达到新的高度。
提交
查看更多评论
其他资讯
工业机器人控制系统的开放体系结构
工业机器人离线编程及无碰撞路径规划系统的开发研究
工业机器人手臂结构的有限元分析与研究
工业机器人通用控制器研究开发
工业机器人网络控制与编程